#include "kinect_stubs.h"

HRESULT  NuiInitialize( DWORD dwFlags ){return S_OK;}

VOID NuiShutdown(){}

bool MSR_NuiGetPropsBlob( MsrNui::NUI_PROPSINDEX Index, void * pBlob, DWORD * pdwInOutSize ){return false;}

MsrNui::NUI_PROPSTYPE   MSR_NuiGetPropsType( MsrNui::NUI_PROPSINDEX Index ){return MsrNui::PROPTYPE_UNKNOWN;}

HRESULT MSR_NUIGetDeviceCount( int * pCount ){return S_OK;}

HRESULT MSR_NuiCreateInstanceByIndex( int Index, INuiInstance ** ppInstance ){return S_OK;}

void MSR_NuiDestroyInstance( INuiInstance * pInstance ){}

HRESULT NuiSkeletonTrackingEnable(HANDLE hNextFrameEvent, DWORD  dwFlags){return S_OK;}

HRESULT NuiSkeletonTrackingDisable(){return S_OK;}

HRESULT NuiSkeletonGetNextFrame(DWORD dwMillisecondsToWait, NUI_SKELETON_FRAME *pSkeletonFrame){return E_FAIL;}

HRESULT NuiTransformSmooth(NUI_SKELETON_FRAME *pSkeletonFrame, const NUI_TRANSFORM_SMOOTH_PARAMETERS *pSmoothingParams){return S_OK;}

VOID NuiTransformSkeletonToDepthImageF(Vector4 vPoint, float *pfDepthX, float *pfDepthY, USHORT *pusDepthValue){}

VOID NuiTransformSkeletonToDepthImageF(Vector4 vPoint, FLOAT *pfDepthX, FLOAT *pfDepthY){}

Vector4 NuiTransformDepthImageToSkeletonF(float fDepthX, float fDepthY, USHORT usDepthValue)
{    
  Vector4 v4;
  v4.x = v4.y = v4.z = v4.w = 0.0f;
  return v4;
}

HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName){return S_OK;}

HRESULT NuiImageStreamOpen(NUI_IMAGE_TYPE eImageType, NUI_IMAGE_RESOLUTION eResolution, DWORD dwImageFrameFlags_NotUsed, DWORD dwFrameLimit, HANDLE hNextFrameEvent, HANDLE *phStreamHandle){return S_OK;}
HRESULT NuiImageStreamReleaseFrame(HANDLE hStream, const NUI_IMAGE_FRAME *pImageFrame){return S_OK;}

HRESULT NuiImageBuffer::LockRect( UINT Level, KINECT_LOCKED_RECT* pLockedRect,const KINECT_LOCKED_RECT* pRectUsuallyNull,DWORD Flags) {return S_OK;}
HRESULT NuiImageBuffer::GetLevelDesc( UINT Level, KINECT_SURFACE_DESC *pDesc ) {return S_OK;}
HRESULT NuiImageBuffer::UnlockRect( UINT Level) {return S_OK;}

HRESULT NuiCameraElevationGetAngle(LONG* angle)
{
  *angle = 0;
  return S_OK;
}

HRESULT NuiImageStreamGetNextFrame(HANDLE hStream,DWORD dwMillisecondsToWait,const NUI_IMAGE_FRAME **ppcImageFrame){return E_FAIL;}
